package com.example.collection;

import com.example.entity.Person;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author readpage
 * @create 2022-09-19 21:29
 *
 * jdk 5.0 新增了foreach循环，用于遍历集合、数组
 */
public class ForTest {

    @Test
    public void test() {
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add(456);
        coll.add(new String("Tom"));
        coll.add(false);
        coll.add(new Person("Jerry", 20));

        //for(集合元素的类型 局部变量 : 集合对象)
        //内部仍然调用了迭代器
        for (Object o : coll) {
            System.out.println(o);
        }

    }

    @Test
    public void test2() {
        int[] arr = new int[]{1,2,3,4,5,6};

        //for(数组元素的类型 局部变量 : 数组对象)
        for (int i : arr) {
            System.out.println(i);
        }
    }

    @Test
    public void test3() {
        String[] arr = {"MM", "MM", "MM"};
        // 方式一: 普遍for赋值
//        for (int i = 0; i < arr.length; i++) {
//            arr[i] = "GG";
//        }

        //方式二: 增强for循环
        for (String s : arr) {
            s = "GG";
        }

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
